/*
 * 版权所有 (C) 2015 知启蒙(ZHIQIM) 保留所有权利。[遇见知启蒙，邂逅框架梦]
 * 
 * https://zhiqim.org/project/zhiqim_components/zhiqim_manager.htm
 *
 * Zhiqim Manager is licensed under Mulan PSL v2.
 * You can use this software according to the terms and conditions of the Mulan PSL v2.
 * You may obtain a copy of Mulan PSL v2 at:
 *          http://license.coscl.org.cn/MulanPSL2
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
 * See the Mulan PSL v2 for more details.
 */
package org.zhiqim.manager.dbo;

import java.io.Serializable;
import java.sql.Timestamp;

import org.zhiqim.kernel.annotation.AnAlias;
import org.zhiqim.kernel.annotation.AnNew;
import org.zhiqim.kernel.json.Jsons;
import org.zhiqim.orm.annotation.*;

/**
 * 操作员表 对应表《ZMR_OPERATOR》
 */
@AnAlias("ZmrOperator")
@AnNew
@AnTable(table="ZMR_OPERATOR", key="OPERATOR_CODE", type="InnoDB")
public class ZmrOperator implements Serializable
{
    private static final long serialVersionUID = 1L;

    @AnTableField(column="OPERATOR_CODE", type="string,32", notNull=true)    private String operatorCode;    //1.操作员账号
    @AnTableField(column="OPERATOR_PASS", type="string,64,char", notNull=true)    private String operatorPass;    //2.操作员密码
    @AnTableField(column="OPERATOR_PASS_SALT", type="string,64,char", notNull=true)    private String operatorPassSalt;    //3.操作员密码盐值
    @AnTableField(column="OPERATOR_VALID", type="boolean", notNull=true)    private boolean operatorValid;    //4.操作员状态：1正常，0停用
    @AnTableField(column="OPERATOR_TYPE", type="byte", notNull=true)    private int operatorType;    //5.操作员类型：0：超级管理员,1：管理员，2:操作员
    @AnTableField(column="OPERATOR_NAME", type="string,64", notNull=true)    private String operatorName;    //6.操作员名称
    @AnTableField(column="OPERATOR_AVATAR", type="long", notNull=false)    private long operatorAvatar;    //7.操作员头像编号
    @AnTableField(column="OPERATOR_DEPT", type="string,850", notNull=false)    private String operatorDept;    //8.操作员所属部门，多个用逗号隔开，当前支持关联50个部门
    @AnTableField(column="OPERATOR_DEPT_ALL", type="string,1700", notNull=false)    private String operatorDeptAll;    //9.操作员对应的所有部门，多个用逗号隔开，当前支持关联100个部门
    @AnTableField(column="OPERATOR_ROLE", type="string,850", notNull=false)    private String operatorRole;    //10.操作员角色，多个用逗号隔开，当前支持关联50个角色
    @AnTableField(column="OPERATOR_MOBILE", type="string,21", notNull=false)    private String operatorMobile;    //11.操作员手机号
    @AnTableField(column="OPERATOR_EMAIL", type="string,64", notNull=false)    private String operatorEmail;    //12.操作员邮箱
    @AnTableField(column="OPERATOR_IP", type="string,18", notNull=false)    private String operatorIp;    //13.操作员工作IP
    @AnTableField(column="OPERATOR_PARAM", type="string,1024", notNull=false)    private String operatorParam;    //14.操作员参数，用于项目自定义设置
    @AnTableField(column="OPERATOR_CREATED", type="datetime", notNull=true)    private Timestamp operatorCreated;    //15.操作员创建时间
    @AnTableField(column="OPERATOR_MODIFIED", type="datetime", notNull=true)    private Timestamp operatorModified;    //16.操作员修改时间

    public String toString()
    {
        return Jsons.toString(this);
    }

    public String getOperatorCode()
    {
        return operatorCode;
    }

    public ZmrOperator setOperatorCode(String operatorCode)
    {
        this.operatorCode = operatorCode;
        return this;
    }

    public String getOperatorPass()
    {
        return operatorPass;
    }

    public ZmrOperator setOperatorPass(String operatorPass)
    {
        this.operatorPass = operatorPass;
        return this;
    }

    public String getOperatorPassSalt()
    {
        return operatorPassSalt;
    }

    public ZmrOperator setOperatorPassSalt(String operatorPassSalt)
    {
        this.operatorPassSalt = operatorPassSalt;
        return this;
    }

    public boolean isOperatorValid()
    {
        return operatorValid;
    }

    public ZmrOperator setOperatorValid(boolean operatorValid)
    {
        this.operatorValid = operatorValid;
        return this;
    }

    public int getOperatorType()
    {
        return operatorType;
    }

    public ZmrOperator setOperatorType(int operatorType)
    {
        this.operatorType = operatorType;
        return this;
    }

    public String getOperatorName()
    {
        return operatorName;
    }

    public ZmrOperator setOperatorName(String operatorName)
    {
        this.operatorName = operatorName;
        return this;
    }

    public long getOperatorAvatar()
    {
        return operatorAvatar;
    }

    public ZmrOperator setOperatorAvatar(long operatorAvatar)
    {
        this.operatorAvatar = operatorAvatar;
        return this;
    }

    public String getOperatorDept()
    {
        return operatorDept;
    }

    public ZmrOperator setOperatorDept(String operatorDept)
    {
        this.operatorDept = operatorDept;
        return this;
    }

    public String getOperatorDeptAll()
    {
        return operatorDeptAll;
    }

    public ZmrOperator setOperatorDeptAll(String operatorDeptAll)
    {
        this.operatorDeptAll = operatorDeptAll;
        return this;
    }

    public String getOperatorRole()
    {
        return operatorRole;
    }

    public ZmrOperator setOperatorRole(String operatorRole)
    {
        this.operatorRole = operatorRole;
        return this;
    }

    public String getOperatorMobile()
    {
        return operatorMobile;
    }

    public ZmrOperator setOperatorMobile(String operatorMobile)
    {
        this.operatorMobile = operatorMobile;
        return this;
    }

    public String getOperatorEmail()
    {
        return operatorEmail;
    }

    public ZmrOperator setOperatorEmail(String operatorEmail)
    {
        this.operatorEmail = operatorEmail;
        return this;
    }

    public String getOperatorIp()
    {
        return operatorIp;
    }

    public ZmrOperator setOperatorIp(String operatorIp)
    {
        this.operatorIp = operatorIp;
        return this;
    }

    public String getOperatorParam()
    {
        return operatorParam;
    }

    public ZmrOperator setOperatorParam(String operatorParam)
    {
        this.operatorParam = operatorParam;
        return this;
    }

    public Timestamp getOperatorCreated()
    {
        return operatorCreated;
    }

    public ZmrOperator setOperatorCreated(Timestamp operatorCreated)
    {
        this.operatorCreated = operatorCreated;
        return this;
    }

    public Timestamp getOperatorModified()
    {
        return operatorModified;
    }

    public ZmrOperator setOperatorModified(Timestamp operatorModified)
    {
        this.operatorModified = operatorModified;
        return this;
    }
}
